home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-07
/
lantas10.zip
/
NCBTEST.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-01-02
|
2KB
|
73 lines
PROGRAM NCB_Test;
USES CRT,DOS,NCB;
VAR NCB_Result : Byte;
Send_Block : _NCB;
Recv_Block : _NCB;
Number : Byte;
Message : String;
Key : Char;
Buffer : String;
PROCEDURE UsrProc; ASSEMBLER;
ASM
NOP
IRET
END;
BEGIN
NCB_CLEAR_BLOCK(Send_Block);
IF (ParamStr(1) = 'ONE') THEN
NCB_Result := NCB_ADD_NAME(Send_Block,'ONE','TWO')
ELSE
NCB_Result := NCB_ADD_NAME(Send_Block,'TWO','ONE');
{ You can assign an asterix (*) as second name. The ADD_NAME-function
has wildcard-facility !!! }
Message := 'TEST-MESSAGE USING NETBIOS...';
IF (NCB_Result IN [00,18]) THEN
BEGIN
Number := Send_Block.NCB_NUM;
REPEAT
ClrScr;
WriteLn('Our name-number is : ',Number);
WriteLn;
WriteLn('Press S to send Message, L for Listening or Q to Quit...');
Key := UpCase(ReadKey);
CASE Key OF
'L' : BEGIN
WriteLn('I''m listening for a message...');
NCB_Result := NCB_RECV_DATAGRAM(Send_Block,Seg(Buffer),Ofs(Buffer),255,Addr(UsrProc));
IF (NCB_Result = 00) THEN
BEGIN
GotoXY(1,24); WriteLn(Buffer);
Delay(2000);
END;
END;
'S' : BEGIN
NCB_Result := NCB_SEND_DATAGRAM(Send_Block,Seg(Message),Ofs(Message),Length(Message)+1);
WriteLn('Message Sended...RETCODE = ',NCB_Result);
Delay(2000);
END;
END;
UNTIL Key = 'Q';
NCB_Result := NCB_HANG_UP(Send_Block);
END;
NCB_Result := NCB_DELETE_NAME(Send_Block);
IF (NCB_Result = NRC_GOODRET) THEN
WriteLn('Session successfully released...') ELSE
WriteLn('Releasing Session failed...');
END.